home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / news / selectv1.tar / selectv1 / dllist.h < prev    next >
C/C++ Source or Header  |  1993-08-25  |  1KB  |  39 lines

  1. /*
  2. dllist.h: header file for dllist.c
  3.  
  4. Copyright (C) 1993 Eugene Eric Kim
  5. All rights reserved.
  6.  
  7. LAST REVISION: August 25, 1993
  8. */
  9.  
  10. #include "global.h"
  11.  
  12. typedef struct _node {
  13.   char entry[LEN];
  14.   struct _node* next;
  15.   struct _node* prev;
  16. } node;
  17.  
  18. typedef struct {
  19.   node* head;
  20. } dllist;
  21.  
  22. extern void list_create(dllist* l);
  23. extern node* list_next(node* w);
  24. extern node* list_prev(node* w);
  25. extern int list_size(dllist l);
  26. extern short list_empty(dllist l);
  27. extern short list_first(node* w);
  28. extern short list_last(node* w);
  29. extern node* list_start(dllist l);
  30. extern node* list_end(dllist l);
  31. extern node* list_position(dllist l, int i);
  32. extern node* list_del(dllist* l, node* w);
  33. extern node* list_insafter(dllist* l, node* w, char item[LEN]);
  34. extern node* list_insbefore(dllist* l, node* w, char item[LEN]);
  35. extern void list_replace(dllist* l, node* w, char item[LEN]);
  36. extern void list_interchange(dllist* l, node* w, node* v);
  37. extern void list_traverse(dllist l, void (*visit)(node* w));
  38. extern void list_clear(dllist* l);
  39.